package kburndown.client.app.utils
{
	import mx.managers.ISystemManager;

	[Mixin]
	public final class IconLib
	{
		[Embed(source="../../../../assets/taskicons/account.png")]
		private static var account: Class;

		[Embed(source="../../../../assets/taskicons/aim.png")]
		private static var aim: Class;

		[Embed(source="../../../../assets/taskicons/appstore.png")]
		private static var appstore: Class;

		[Embed(source="../../../../assets/taskicons/appstore2.png")]
		private static var appstore2: Class;

		[Embed(source="../../../../assets/taskicons/beejive.png")]
		private static var beejive: Class;

		[Embed(source="../../../../assets/taskicons/bejewled.png")]
		private static var bejewled: Class;

		[Embed(source="../../../../assets/taskicons/biiball.png")]
		private static var biiball: Class;

		[Embed(source="../../../../assets/taskicons/breakclassic.png")]
		private static var breakclassic: Class;

		[Embed(source="../../../../assets/taskicons/bubble.png")]
		private static var bubble: Class;

		[Embed(source="../../../../assets/taskicons/calculator.png")]
		private static var calculator: Class;

		[Embed(source="../../../../assets/taskicons/calculator2.png")]
		private static var calculator2: Class;

		[Embed(source="../../../../assets/taskicons/calendar.png")]
		private static var calendar: Class;

		[Embed(source="../../../../assets/taskicons/calendar2.png")]
		private static var calendar2: Class;

		[Embed(source="../../../../assets/taskicons/camera.png")]
		private static var camera: Class;

		[Embed(source="../../../../assets/taskicons/camera2.png")]
		private static var camera2: Class;

		[Embed(source="../../../../assets/taskicons/card.png")]
		private static var card: Class;

		[Embed(source="../../../../assets/taskicons/chart.png")]
		private static var chart: Class;

		[Embed(source="../../../../assets/taskicons/chart2.png")]
		private static var chart2: Class;

		[Embed(source="../../../../assets/taskicons/clock.png")]
		private static var clock: Class;

		[Embed(source="../../../../assets/taskicons/clock2.png")]
		private static var clock2: Class;

		[Embed(source="../../../../assets/taskicons/cointoss.png")]
		private static var cointoss: Class;

		[Embed(source="../../../../assets/taskicons/contacts.png")]
		private static var contacts: Class;

		[Embed(source="../../../../assets/taskicons/contacts2.png")]
		private static var contacts2: Class;

		[Embed(source="../../../../assets/taskicons/copiercin.png")]
		private static var copiercin: Class;

		[Embed(source="../../../../assets/taskicons/customize.png")]
		private static var customize: Class;

		[Embed(source="../../../../assets/taskicons/dict.png")]
		private static var dict: Class;

		[Embed(source="../../../../assets/taskicons/diskette.png")]
		private static var diskette: Class;

		[Embed(source="../../../../assets/taskicons/diskette2.png")]
		private static var diskette2: Class;

		[Embed(source="../../../../assets/taskicons/diskette3.png")]
		private static var diskette3: Class;

		[Embed(source="../../../../assets/taskicons/drop.png")]
		private static var drop: Class;

		[Embed(source="../../../../assets/taskicons/facebook.png")]
		private static var facebook: Class;

		[Embed(source="../../../../assets/taskicons/fuzzle.png")]
		private static var fuzzle: Class;

		[Embed(source="../../../../assets/taskicons/go.png")]
		private static var go: Class;

		[Embed(source="../../../../assets/taskicons/google.png")]
		private static var google: Class;

		[Embed(source="../../../../assets/taskicons/implus.png")]
		private static var implus: Class;

		[Embed(source="../../../../assets/taskicons/ipod.png")]
		private static var ipod: Class;

		[Embed(source="../../../../assets/taskicons/ipod2.png")]
		private static var ipod2: Class;

		[Embed(source="../../../../assets/taskicons/ipod3.png")]
		private static var ipod3: Class;

		[Embed(source="../../../../assets/taskicons/itunes.png")]
		private static var itunes: Class;

		[Embed(source="../../../../assets/taskicons/itunes2.png")]
		private static var itunes2: Class;

		[Embed(source="../../../../assets/taskicons/labyrinth.png")]
		private static var labyrinth: Class;

		[Embed(source="../../../../assets/taskicons/lastfm.png")]
		private static var lastfm: Class;

		[Embed(source="../../../../assets/taskicons/lastfm2.png")]
		private static var lastfm2: Class;

		[Embed(source="../../../../assets/taskicons/macthemes.png")]
		private static var macthemes: Class;

		[Embed(source="../../../../assets/taskicons/mail.png")]
		private static var mail: Class;

		[Embed(source="../../../../assets/taskicons/mail2.png")]
		private static var mail2: Class;

		[Embed(source="../../../../assets/taskicons/map.png")]
		private static var map: Class;

		[Embed(source="../../../../assets/taskicons/map2.png")]
		private static var map2: Class;

		[Embed(source="../../../../assets/taskicons/mine.png")]
		private static var mine: Class;

		[Embed(source="../../../../assets/taskicons/mobile.png")]
		private static var mobile: Class;

		[Embed(source="../../../../assets/taskicons/modem.png")]
		private static var modem: Class;

		[Embed(source="../../../../assets/taskicons/monkey.png")]
		private static var monkey: Class;

		[Embed(source="../../../../assets/taskicons/movie.png")]
		private static var movie: Class;

		[Embed(source="../../../../assets/taskicons/movie2.png")]
		private static var movie2: Class;

		[Embed(source="../../../../assets/taskicons/music.png")]
		private static var music: Class;

		[Embed(source="../../../../assets/taskicons/music2.png")]
		private static var music2: Class;

		[Embed(source="../../../../assets/taskicons/music3.png")]
		private static var music3: Class;

		[Embed(source="../../../../assets/taskicons/myfox.png")]
		private static var myfox: Class;

		[Embed(source="../../../../assets/taskicons/notes.png")]
		private static var notes: Class;

		[Embed(source="../../../../assets/taskicons/notes2.png")]
		private static var notes2: Class;

		[Embed(source="../../../../assets/taskicons/nuclear.png")]
		private static var nuclear: Class;

		[Embed(source="../../../../assets/taskicons/pac.png")]
		private static var pac: Class;

		[Embed(source="../../../../assets/taskicons/pandora.png")]
		private static var pandora: Class;

		[Embed(source="../../../../assets/taskicons/papijump.png")]
		private static var papijump: Class;

		[Embed(source="../../../../assets/taskicons/phone.png")]
		private static var phone: Class;

		[Embed(source="../../../../assets/taskicons/phone2.png")]
		private static var phone2: Class;

		[Embed(source="../../../../assets/taskicons/phone3.png")]
		private static var phone3: Class;

		[Embed(source="../../../../assets/taskicons/photos.png")]
		private static var photos: Class;

		[Embed(source="../../../../assets/taskicons/photos2.png")]
		private static var photos2: Class;

		[Embed(source="../../../../assets/taskicons/photos3.png")]
		private static var photos3: Class;

		[Embed(source="../../../../assets/taskicons/player.png")]
		private static var player: Class;

		[Embed(source="../../../../assets/taskicons/poker.png")]
		private static var poker: Class;

		[Embed(source="../../../../assets/taskicons/pref.png")]
		private static var pref: Class;

		[Embed(source="../../../../assets/taskicons/pumpkin.png")]
		private static var pumpkin: Class;

		[Embed(source="../../../../assets/taskicons/pushr.png")]
		private static var pushr: Class;

		[Embed(source="../../../../assets/taskicons/record.png")]
		private static var record: Class;

		[Embed(source="../../../../assets/taskicons/record2.png")]
		private static var record2: Class;

		[Embed(source="../../../../assets/taskicons/remove.png")]
		private static var remove: Class;

		[Embed(source="../../../../assets/taskicons/rename.png")]
		private static var rename: Class;

		[Embed(source="../../../../assets/taskicons/safari.png")]
		private static var safari: Class;

		[Embed(source="../../../../assets/taskicons/safari2.png")]
		private static var safari2: Class;

		[Embed(source="../../../../assets/taskicons/safari3.png")]
		private static var safari3: Class;

		[Embed(source="../../../../assets/taskicons/settings.png")]
		private static var settings: Class;

		[Embed(source="../../../../assets/taskicons/shazam.png")]
		private static var shazam: Class;

		[Embed(source="../../../../assets/taskicons/sketch.png")]
		private static var sketch: Class;

		[Embed(source="../../../../assets/taskicons/snake.png")]
		private static var snake: Class;

		[Embed(source="../../../../assets/taskicons/stars.png")]
		private static var stars: Class;

		[Embed(source="../../../../assets/taskicons/status.png")]
		private static var status: Class;

		[Embed(source="../../../../assets/taskicons/switcher.png")]
		private static var switcher: Class;

		[Embed(source="../../../../assets/taskicons/tap.png")]
		private static var tap: Class;

		[Embed(source="../../../../assets/taskicons/tetris.png")]
		private static var tetris: Class;

		[Embed(source="../../../../assets/taskicons/text.png")]
		private static var text: Class;

		[Embed(source="../../../../assets/taskicons/text2.png")]
		private static var text2: Class;

		[Embed(source="../../../../assets/taskicons/todos.png")]
		private static var todos: Class;

		[Embed(source="../../../../assets/taskicons/torchlight.png")]
		private static var torchlight: Class;

		[Embed(source="../../../../assets/taskicons/touch.png")]
		private static var touch: Class;

		[Embed(source="../../../../assets/taskicons/trooper.png")]
		private static var trooper: Class;

		[Embed(source="../../../../assets/taskicons/twitter.png")]
		private static var twitter: Class;

		[Embed(source="../../../../assets/taskicons/weather.png")]
		private static var weather: Class;

		[Embed(source="../../../../assets/taskicons/weather2.png")]
		private static var weather2: Class;

		[Embed(source="../../../../assets/taskicons/wine.png")]
		private static var wine: Class;

		[Embed(source="../../../../assets/taskicons/winter.png")]
		private static var winter: Class;

		[Embed(source="../../../../assets/taskicons/winter2.png")]
		private static var winter2: Class;

		[Embed(source="../../../../assets/taskicons/winter3.png")]
		private static var winter3: Class;

		[Embed(source="../../../../assets/taskicons/ypmobile.png")]
		private static var ypmobile: Class;


		private static var _iconDictionary: Object;
		private static var _iconArray: Array;

		public static function getIcon(key: String): Class
		{
			return _iconDictionary[key];
		}

		public static function getIconList(): Array
		{
			return _iconArray;
		}

		public static function getIconIndex(key: String): int
		{
			var l:int = _iconArray.length;
			for (var i:int = 0; i < l; i++)
			{
				if (_iconArray[i].key == key)
				{
					return i;
				}
			}
			return -1;
		}

		public static function init(systemManager: ISystemManager): void
		{
			_iconDictionary = new Object();
			_iconArray = [];

			_iconDictionary["account"] = account;
			_iconDictionary["aim"] = aim;
			_iconDictionary["appstore"] = appstore;
			_iconDictionary["appstore2"] = appstore2;
			_iconDictionary["beejive"] = beejive;
			_iconDictionary["bejewled"] = bejewled;
			_iconDictionary["biiball"] = biiball;
			_iconDictionary["breakclassic"] = breakclassic;
			_iconDictionary["bubble"] = bubble;
			_iconDictionary["calculator"] = calculator;
			_iconDictionary["calculator2"] = calculator2;
			_iconDictionary["calendar"] = calendar;
			_iconDictionary["calendar2"] = calendar2;
			_iconDictionary["camera"] = camera;
			_iconDictionary["camera2"] = camera2;
			_iconDictionary["card"] = card;
			_iconDictionary["chart"] = chart;
			_iconDictionary["chart2"] = chart2;
			_iconDictionary["clock"] = clock;
			_iconDictionary["clock2"] = clock2;
			_iconDictionary["cointoss"] = cointoss;
			_iconDictionary["contacts"] = contacts;
			_iconDictionary["contacts2"] = contacts2;
			_iconDictionary["copiercin"] = copiercin;
			_iconDictionary["customize"] = customize;
			_iconDictionary["dict"] = dict;
			_iconDictionary["diskette"] = diskette;
			_iconDictionary["diskette2"] = diskette2;
			_iconDictionary["diskette3"] = diskette3;
			_iconDictionary["drop"] = drop;
			_iconDictionary["facebook"] = facebook;
			_iconDictionary["fuzzle"] = fuzzle;
			_iconDictionary["go"] = go;
			_iconDictionary["google"] = google;
			_iconDictionary["implus"] = implus;
			_iconDictionary["ipod"] = ipod;
			_iconDictionary["ipod2"] = ipod2;
			_iconDictionary["ipod3"] = ipod3;
			_iconDictionary["itunes"] = itunes;
			_iconDictionary["itunes2"] = itunes2;
			_iconDictionary["labyrinth"] = labyrinth;
			_iconDictionary["lastfm"] = lastfm;
			_iconDictionary["lastfm2"] = lastfm2;
			_iconDictionary["macthemes"] = macthemes;
			_iconDictionary["mail"] = mail;
			_iconDictionary["mail2"] = mail2;
			_iconDictionary["map"] = map;
			_iconDictionary["map2"] = map2;
			_iconDictionary["mine"] = mine;
			_iconDictionary["mobile"] = mobile;
			_iconDictionary["modem"] = modem;
			_iconDictionary["monkey"] = monkey;
			_iconDictionary["movie"] = movie;
			_iconDictionary["movie2"] = movie2;
			_iconDictionary["music"] = music;
			_iconDictionary["music2"] = music2;
			_iconDictionary["music3"] = music3;
			_iconDictionary["myfox"] = myfox;
			_iconDictionary["notes"] = notes;
			_iconDictionary["notes2"] = notes2;
			_iconDictionary["nuclear"] = nuclear;
			_iconDictionary["pac"] = pac;
			_iconDictionary["pandora"] = pandora;
			_iconDictionary["papijump"] = papijump;
			_iconDictionary["phone"] = phone;
			_iconDictionary["phone2"] = phone2;
			_iconDictionary["phone3"] = phone3;
			_iconDictionary["photos"] = photos;
			_iconDictionary["photos2"] = photos2;
			_iconDictionary["photos3"] = photos3;
			_iconDictionary["player"] = player;
			_iconDictionary["poker"] = poker;
			_iconDictionary["pref"] = pref;
			_iconDictionary["pumpkin"] = pumpkin;
			_iconDictionary["pushr"] = pushr;
			_iconDictionary["record"] = record;
			_iconDictionary["record2"] = record2;
			_iconDictionary["remove"] = remove;
			_iconDictionary["rename"] = rename;
			_iconDictionary["safari"] = safari;
			_iconDictionary["safari2"] = safari2;
			_iconDictionary["safari3"] = safari3;
			_iconDictionary["settings"] = settings;
			_iconDictionary["shazam"] = shazam;
			_iconDictionary["sketch"] = sketch;
			_iconDictionary["snake"] = snake;
			_iconDictionary["stars"] = stars;
			_iconDictionary["status"] = status;
			_iconDictionary["switcher"] = switcher;
			_iconDictionary["tap"] = tap;
			_iconDictionary["tetris"] = tetris;
			_iconDictionary["text"] = text;
			_iconDictionary["text2"] = text2;
			_iconDictionary["todos"] = todos;
			_iconDictionary["torchlight"] = torchlight;
			_iconDictionary["touch"] = touch;
			_iconDictionary["trooper"] = trooper;
			_iconDictionary["twitter"] = twitter;
			_iconDictionary["weather"] = weather;
			_iconDictionary["weather2"] = weather2;
			_iconDictionary["wine"] = wine;
			_iconDictionary["winter"] = winter;
			_iconDictionary["winter2"] = winter2;
			_iconDictionary["winter3"] = winter3;
			_iconDictionary["ypmobile"] = ypmobile;

			for (var key: String in _iconDictionary)
			{
				_iconArray.push({key: key, icon: _iconDictionary[key]});
			}
		}
	}
}